There are many types of computing services, resources and data that computer users and applications need to manage and otherwise access. Such resources and data include services and data maintained locally, and data maintained on corporate networks and other remotely accessible sites including intranets and the internet.
The concept of web services is generally directed to providing a computing service to clients via protocols and standards that are cross-platform in nature. In general, web services provide the basic tools for wiring the nodes of a distributed application together, regardless of the type of platform on which the requesting client is running. As there are many different computing platforms, various platform-independent mechanisms and protocols that facilitate the exchange of network information are becoming commonplace in web services, including HTTP (HyperText Transfer Protocol), XML (eXtensible Markup Language), XML Schema, and SOAP (Simple Object Access Protocol) XML. Traditional web services, in which businesses, organizations, and other providers offer services to users and applications, are presently based on these standards. Moreover, a web service can represent other types of resources, such as hardware devices, databases, and the like.
Currently, the protocols by which web services exchange data with a client allow a client to send a message to a server port (e.g., URI) corresponding to the service and receive a message back at the client, in a manner agreed on according to a contract provided by the web service.
Reputation management systems are well-known in peer-to-peer networks, which provide a means of distributing many kinds of data, such as music, movies, and software. Given the open nature of these networks (that is, the fact that they allow anyone on the network to share any type and number of files), peer-to-peer networks are prone to abuses by anonymous malicious peers who share inauthentic files. The presence of these malicious peers can lead to the network becoming inundated with viruses, spam, and other inauthentic files. Recognizing this problem has led researchers to propose reputation management systems for these networks. These reputation management systems are algorithms that allow individual peers on a peer-to-peer network to rate each other according to the quality of their past transactions with each other. Once a peer has been rated, its rating can be used by other peers to help them find the best sources of good, authentic files and keep the effects of malicious peers on the network to a minimum.
There are several reputation management systems that are currently being used in situations such as online auctions and file sharing. eBay is a website where buyers and sellers can meet and conduct auctions entirely online. In eBay's reputation management system, buyers and sellers can rate each other based on their past transactions with each other. This is done via users leaving comments on one another's eBay user pages, which can be positive, neutral, or negative. An eBay member's reputation is calculated by assigning each type of comment a point value (+1 point for positive comments, 0 points for neutral comments, and −1 point for negative comments) and summing the point values of all of a member's transactions to obtain that member's “reputation.” An eBay user's reputation score can then be used by other users as a factor in their decisions on whether or not to conduct a transaction with that user.
Kazaa is a peer-to-peer file sharing application that allows its users to share files with other Kazaa users. It also allows users to search for and download files from other users who are sharing them. Kazaa has implemented a reputation management system consisting of two components, “Integrity Rating” and “Participation Levels.” Integrity Rating allows peers who share files to rate their own files in terms of their technical merits, such as whether the files have accurate metadata and are of high quality. In order to guide other peers toward the highest-quality files available for download, users are encouraged to Integrity Rate their files and delete files that should not be shared (e.g., virus-infected files or files that are corrupted).
In Kazaa's reputation management system, each peer has a “Participation Level” that is based on the quality and amount of files that it shares. A peer's Participation Level is a number that reflects the ways in which that peer has used Kazaa to upload and download files. A peer's Participation Level is meant to reward peers who share many Integrity Rated files by providing those peers with increased bandwidth that they can use to download files from other peers on the network.
There are several other proposed reputation management systems, such as Debit-Credit Reputation Computation (DCRC), Credit-Only Reputation Computation (CORC), and Distributed Polling (Xrep). DCRC works by crediting peers' reputation scores for serving content and debits them for downloading. CORC credits peers' reputation scores for serving content, but does not debit them. Under CORC, the expiration of a peer's reputation score serves as a debit. In DCRC and CORC, peers can also earn credit for staying online and processing query requests sent to them by other peers. Since DCRC and CORC allow peers to store their own reputation scores, these reputation management schemes use a central Reputation Computation Agent which is contacted periodically by the peers to earn credit for their contribution to the network.
Distributed Polling (Xrep Protocol) determines whether peers are trustworthy based on votes that peer i takes regarding other peers' experiences with each peer j who responds to i's queries for content. In Xrep, each peer maintains a resource repository, which is a table that assigns a binary value describing whether a given resource is good (+) or bad (−). Each peer also has a servant repository, which is a table that keeps track of each servant, or other peer, that a peer has interacted with and records the numbers of successful and unsuccessful downloads from that peer.
When peer i receives responses to a search query from other peers, it will find the best download source for the file that it is looking for by polling its peers for their opinions of the resource and the peers that offer it. After receiving a set of votes from the other peers, i will discard any votes that have been tampered with and cluster the remaining votes by their IP addresses. i will then weight the votes within each cluster, such as by taking an average of the cluster's votes weighted on the size of the cluster. Next, i will contact the most reliable peer that hosts the file (based on the votes that i has received) to determine that the peer does indeed host the file. If this is true, then i will connect to the servant and download the file.
Web services do not currently provide reputation data and are not accommodated in reputation management systems. There is no way for multiple copies of web services to determine which result, when results among the web services differ, is correct. Moreover, there is no mechanism for determining which web services are important enough or desirable enough to be run as identical copies across multiple computing devices.
In view of the foregoing, there is a need for systems and methods that overcome these deficiencies.